The present invention relates, in general, to data processing systems, and more specifically, to a data processing system having a help interface in which a user can query the system using a natural language.
Numerous software applications, utilities, games, operating systems, etc., are designed to have some type of user assistance or xe2x80x9chelpxe2x80x9d facility designed integrally within the software. Such help facilities, to a limited extent, enable the user to obtain instructional information while using the software and are less disruptive, and, typically less time consuming, than searching through manuals or other documentation accompanying the software.
Current help interfaces mimic one of a few basic designs. A first design, the limited context sensitive help interface utilizes the xe2x80x9ccontextxe2x80x9d or location of the user in the software to determine the nature and format of the help information to be displayed. For example, in a word processing application, if the user is editing a document and selects a command such as xe2x80x9cFILExe2x80x9d from the drop-down menu and further presses a function key such xe2x80x9cF1xe2x80x9d for HELP, a limited context-sensitive facility opens a window explaining the functions offered under the drop-down menu. Unfortunately, users often have questions of a general nature which are unrelated to their current context or location. In such instances a context-sensitive help interface is of little or no value.
A second design, the table of contents/indexing help interface is formatted similarly to the table of contents or index of a document. Although this design does not limit the user to topics which are specific to the current context of the user""s activities, the value of such an interface is dependent on the number and accuracy of entries contained therein. In addition, table of contents/indexing type interfaces are difficult and time consuming to build and rarely include all the topics to which a user is seeking a greater understanding. A further disadvantage of the table of contents/indexing type help interfaces is that users often seek information using words, phrases, and terminology of their own natural language, which although familiar to the user, are often different than those used by the author of the help interface. Both of the above-described help interfaces are not truly user interactive.
Artificial intelligence systems exist which accept natural language queries. However, such systems are usually very large and complex and, therefore, unsuitable for implementation with either an application or an operating system, where size is a primary consideration. Further, such systems have typically been unable to successfully answer a sufficient number of questions to make them useful. In addition, complex artificial intelligence systems are not amenable to xe2x80x9clocalization,xe2x80x9d i.e., the porting or translation of the software to adapt to a different natural language from that for which it was developed.
Accordingly, a need exists for a help interface for use with software which allows users to ask questions and make inquiries about topics unrelated to their current context or location within the software. Further, a need exists for a help interface in which the user may query the help facility using words, phrases and terminology of the user""s natural language. An additional need exists for a help interface capable of effectively answering natural language queries and which is compact enough to be implemented in an application or operating system. A further need exists for a natural language help interface which may be easily localized to other natural languages without significantly redesigning the interface.
It is therefore an object of the present invention to provide an improved help interface through which users can interact with software.
The above and other objects are achieved with an inventive help interface which is capable of receiving user-defined queries in a natural language. The user-defined query is read into a buffer and parsed to delineate the character string content. Lists of punctuation characters and single and multiple word character strings are successively compared with the contents of the buffer, to eliminate punctuation, superfluous words, and location reference words, as well as to identify key words within the user-defined character string. The identified key words are used as references into a predefined rule set which inherently matches the identified words with potential answers and assigns a value to a potential answer. The cumulative values of the potential answers are computed and ranked. The answer with the highest ranking value is presented to the user in response to the query.
In accordance with one embodiment, the present invention discloses a computer system having a user interface for receiving user-defined queries and a memory for storing a plurality of predefined information segments. The computer system further contains apparatus responsive to the user-defined query for selecting one of the predefined information segments which corresponds to the user query according to a predetermined criteria. The system further contains apparatus for presenting the selected information segment to the user.
In another embodiment, the invention discloses a method of presenting information to the user, including the steps of receiving a user-defined query, selecting which of a plurality of predefined information segments corresponds to the query according to a predetermined criteria, and presenting the selected information segment to the user, in response to the query.
In yet another embodiment, the invention discloses a computer program product for use with a computer system having a user interface. The computer program product includes a computer useable media having program code embodiment in the medium for enabling a user to obtain information from the computer system with user-defined queries. The program code is responsive to the user-defined query and identifies a selected portion of the query. The program code further compares the selected portion of the query with a plurality of predefined information segments, and, selects which of the information segments corresponds to the query in accordance with a predetermined criteria.